/**
 * @file    app_flank.h
 * @author  yhy
 * @brief   侧翼系统模块头文件
 * @version 1.00
 * @date    2025-07-29
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef __APP_FLANK_H__
#define __APP_FLANK_H__

#include "app_airbag_system.h"

/**
 * @brief 气袋索引
 *
 */
typedef enum
{
    FLANK_AIRBAG_IDX_LEFT_RIGHT_BIG = 0U,
    FLANK_AIRBAG_IDX_MAX,
} flank_airbag_idx_e;

/**
 * @brief 侧翼操作
 *
 */
typedef enum
{
    FLANK_MODE_INSIDE  = 1U,
    FLANK_MODE_OUTSIDE = 2U,
    FLANK_MODE_KEEP    = 3U,
    FLANK_MODE_MAX,
} flank_mode_e;

result_e       app_flank_init(void);
result_e       app_flank_set_mode(flank_mode_e mode);
result_e       app_flank_stop(void);
void           app_flank_handle(void);
flank_mode_e   app_flank_get_mode(void);
airbag_state_e app_flank_get_airbag_state(flank_airbag_idx_e airbag_idx);
uint32_t       app_flank_get_air_pressure(flank_airbag_idx_e airbag_idx);

#endif
